昨天在使用电脑时,就发现系统卡得冒屎,而此时 CPU占用率极低,不到10%,于是狠自然地去瞄了一眼硬盘灯,果然,硬盘灯一直是亮的,这就意味着某个进程在持续不停地读写硬盘。
本座就想按照专家们的说法使用 iotop查看一下是哪个胆大妄为的进程敢这么样大尺度地读写硬盘,于是想打开 konsole,发现打不开了。只好切换到 Ctrl+Alt+F2的终端上去看。切换过去之后就发现满屏幕滚动着这样的内核错误消息了 :
ata3.00: exception Emask 0x0 SAct 0x3ffff001 SErr 0x0 action 0x0
ata3.00: irq_stat 0x40000008
ata3.00: failed command READ FPDMA QUEUED
ata3.00: cmd 60/60:00:50:c1:cf:43/00:00:24:00:00/40 tag 11 ncq 4096 in
res 41/40:00:c0:cf:43/00:00:24:00:00/40 Emask 0x409 (media error) <F>
ata3.00: status: { DRDY ERR }
ata3.00: error: { UNC }
end_request: I/O error, dev sda, sector 608423880
看来是文件系统有什么错误了 ,本座当时忙 ,就没管它了,想着下次开机时就会自动检查文件系统错误并且修复了 。
今天开机之后 ,果然按照预期的自动检查文件系统了 ,但是检查到一半时,又出现这样满屏幕滚动的错误信息了 ,并且检查文件系统的进程也中断了,然后系统自动重启了。然后就这样循环着重启了 。这下问题可严重了 。
看看这里的这个视频 ,本座为了解决这个问题而用手机录下来的 ,因为这台电脑上的系统已经启动不了了 :
搜了一些专家的说法,有的说是硬盘数据线有问题了 ,有的说是内核有问题了,有的说是硬盘坏了。本座就决定按照这些专家所猜测的原因来试一试 。
1. 断开电源 , 拆开机箱 ,把这块硬盘的数据线和电源线重新插一次 ,并且把数据线换到了主板上另一个SATA插口。开机之后 ,还是一样的问题。没解决。
2. 把 MagicLinux的LiveDVD放进去,开机进入LiveDVD系统,使用KDE4的分区管理器试着检测并修复硬盘上的那个分区。等了一下之后 ,报告说修复完成,运行日志里可以看到是修复了一些错误的。于是拿出 LiveDVD,重启一次试一下 ,真的好了。又能够进入硬盘上的系统了 。
到写这篇勃客为止 ,来座还是不知道今天碰到的这个问题是什么具体原因造成的 。如果妳也遇到了这样的问题,也可以这样试着修复一下 。
啊 ,本座还保留了修复过程中的记录信息,鉴赏一下:
日期: |
2013-08-24 14:06 |
程序版本: |
1.0.3 |
LibParted 版本: |
1.8.8 |
KDE 版本: |
4.8.3 (4.8.3) |
机器: |
Linux MagicLinux 3.4.4 #1 SMP Sat Jul 7 21:48:35 EDT 2012 i686 |
用户 ID : |
0 |
检查并修复分区 “ /dev/sda9” (37.09 GiB , ext4)
作业:检查分区 “ /dev/sda9” 上的文件系统
命令: e2fsck -f -y -v /dev/sda9
e2fsck 1.42.4 (12-June-2012)
Pass 1: Checking inodes, blocks, and sizes
Error reading block 8913325 (Attempt to read block from filesystem resulted in short read) while getting next inode from scan. Ignore error? yes
Force rewrite? yes
Error reading block 8913453 (Attempt to read block from filesystem resulted in short read) while getting next inode from scan. Ignore error? yes
Force rewrite? yes
Pass 2: Checking directory structure
Entry 'dt' in /usr/lib/perl5/5.10.0/unicore/lib (2236596) has deleted/unused inode 2236637. Clear? yes
Entry 'BR.pl' in /usr/lib/perl5/5.10.0/unicore/lib/ccc (2236617) has deleted/unused inode 2236625. Clear? yes
Entry 'DA.pl' in /usr/lib/perl5/5.10.0/unicore/lib/ccc (2236617) has deleted/unused inode 2236626. Clear? yes
Entry 'DB.pl' in /usr/lib/perl5/5.10.0/unicore/lib/ccc (2236617) has deleted/unused inode 2236627. Clear? yes
Entry 'IS.pl' in /usr/lib/perl5/5.10.0/unicore/lib/ccc (2236617) has deleted/unused inode 2236628. Clear? yes
Entry 'KV.pl' in /usr/lib/perl5/5.10.0/unicore/lib/ccc (2236617) has deleted/unused inode 2236629. Clear? yes
Entry 'L.pl' in /usr/lib/perl5/5.10.0/unicore/lib/ccc (2236617) has deleted/unused inode 2236630. Clear? yes
Entry 'NK.pl' in /usr/lib/perl5/5.10.0/unicore/lib/ccc (2236617) has deleted/unused inode 2236631. Clear? yes
Entry 'NR.pl' in /usr/lib/perl5/5.10.0/unicore/lib/ccc (2236617) has deleted/unused inode 2236632. Clear? yes
Entry 'OV.pl' in /usr/lib/perl5/5.10.0/unicore/lib/ccc (2236617) has deleted/unused inode 2236633. Clear? yes
Entry 'R.pl' in /usr/lib/perl5/5.10.0/unicore/lib/ccc (2236617) has deleted/unused inode 2236634. Clear? yes
Entry 'VR.pl' in /usr/lib/perl5/5.10.0/unicore/lib/ccc (2236617) has deleted/unused inode 2236635. Clear? yes
Entry 'x76.pm' in /usr/lib/perl5/vendor_perl/5.10.0/Text/Unidecode (2237263) has deleted/unused inode 2234577. Clear? yes
Entry 'x77.pm' in /usr/lib/perl5/vendor_perl/5.10.0/Text/Unidecode (2237263) has deleted/unused inode 2234578. Clear? yes
Entry '..' in <2234580>/<2235081> (2235081) has deleted/unused inode 2234580. Clear? yes
Entry 'wireshark' in /usr/lib (2228500) has deleted/unused inode 2234579. Clear? yes
Entry 'libv4l' in /usr/lib (2228500) has deleted/unused inode 2234581. Clear? yes
Entry 'libv4l2.so.0' in /usr/lib (2228500) has deleted/unused inode 2234587. Clear? yes
Entry 'libva-egl.so' in /usr/lib (2228500) has deleted/unused inode 2234592. Clear? yes
Entry 'libutempter.so.0' in /usr/lib (2228500) has deleted/unused inode 2234591. Clear? yes
Entry 'libv4lconvert.so' in /usr/lib (2228500) has deleted/unused inode 2234588. Clear? yes
Entry 'libv4lconvert.so.0' in /usr/lib (2228500) has deleted/unused inode 2234589. Clear? yes
Entry 'libv4l1.pc' in /usr/lib/pkgconfig (2237683) has deleted/unused inode 2234590. Clear? yes
Entry 'libv4l2.so' in /usr/lib (2228500) has deleted/unused inode 2234586. Clear? yes
Entry 'libv4l1.so.0' in /usr/lib (2228500) has deleted/unused inode 2234585. Clear? yes
Pass 3: Checking directory connectivity
Unconnected directory inode 2235081 (...)
Connect to /lost+found? yes
Pass 4: Checking reference counts
Inode 2228500 ref count is 172, should be 170. Fix? yes
Inode 2235081 ref count is 3, should be 2. Fix? yes
Inode 2236596 ref count is 11, should be 10. Fix? yes
Unattached inode 2236641
Connect to /lost+found? yes
Inode 2236641 ref count is 2, should be 1. Fix? yes
Unattached inode 2236642
Connect to /lost+found? yes
Inode 2236642 ref count is 2, should be 1. Fix? yes
Unattached inode 2236643
Connect to /lost+found? yes
Inode 2236643 ref count is 2, should be 1. Fix? yes
Unattached inode 2236644
Connect to /lost+found? yes
Inode 2236644 ref count is 2, should be 1. Fix? yes
Unattached inode 2236645
Connect to /lost+found? yes
Inode 2236645 ref count is 2, should be 1. Fix? yes
Unattached inode 2236646
Connect to /lost+found? yes
Inode 2236646 ref count is 2, should be 1. Fix? yes
Unattached inode 2236647
Connect to /lost+found? yes
Inode 2236647 ref count is 2, should be 1. Fix? yes
Unattached inode 2236648
Connect to /lost+found? yes
Inode 2236648 ref count is 2, should be 1. Fix? yes
Unattached inode 2236649
Connect to /lost+found? yes
Inode 2236649 ref count is 2, should be 1. Fix? yes
Unattached inode 2236650
Connect to /lost+found? yes
Inode 2236650 ref count is 2, should be 1. Fix? yes
Unattached inode 2236651
Connect to /lost+found? yes
Inode 2236651 ref count is 2, should be 1. Fix? yes
Unattached inode 2236652
Connect to /lost+found? yes
Inode 2236652 ref count is 2, should be 1. Fix? yes
Unattached inode 2236653
Connect to /lost+found? yes
Inode 2236653 ref count is 2, should be 1. Fix? yes
Unattached inode 2237347
Connect to /lost+found? yes
Inode 2237347 ref count is 2, should be 1. Fix? yes
Pass 5: Checking group summary information
Block bitmap differences: -8921417 -8921698 -8921908 -8921911 -(8956288--8956311) -(8959450--8959451) -(8976870--8976871) -(8981632--8981664) -(8998288--8998291) -(9001184--9001191) -9001387 -(9001852--9001855)
Fix? yes
Free blocks count wrong for group #272 (22838, counted=22842).
Fix? yes
Free blocks count wrong for group #273 (0, counted=28).
Fix? yes
Free blocks count wrong for group #274 (5361, counted=5411).
Fix? yes
Free blocks count wrong (6395852, counted=6395934).
Fix? yes
Inode bitmap differences: -(2234577--2234592) -(2236625--2236640)
Fix? yes
Free inodes count wrong for group #272 (0, counted=16).
Fix? yes
Directories count wrong for group #272 (531, counted=528).
Fix? yes
Free inodes count wrong for group #273 (1, counted=17).
Fix? yes
Directories count wrong for group #273 (725, counted=724).
Fix? yes
Free inodes count wrong (2170574, counted=2170606).
Fix? yes
/dev/sda9: ***** FILE SYSTEM WAS MODIFIED *****
262418 inodes used (10.79%)
222 non-contiguous files (0.1%)
95 non-contiguous directories (0.0%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 255247/37
3327399 blocks used (34.22%)
0 bad blocks
1 large file
233996 regular files
21137 directories
7 character device files
8 block device files
0 fifos
7071 links
7235 symbolic links (7085 fast symbolic links)
26 sockets
--------
269466 files
检查分区 “ /dev/sda9” 上的文件系统:成功
作业:最大化 “ /dev/sda9” 上的文件系统以填满分区
The file system on partition ‘/dev/sda9’ already has the requested length of 77,786,667 sectors.
最大化 “ /dev/sda9” 上的文件系统以填满分区:成功
检查并修复分区 “ /dev/sda9” (37.09 GiB , ext4) :成功
林凤
HxLauncher: Launch Android applications by voice commands